\chapter{Report Editor : Module d'édition du fichier Report}\label{ch:report}

%\section
%\subsection
%\subsubsection
%\paragraph{Import à partir d'un fichier}

L'objectif de \reportName est de simplifier la création du fichier qui permet la réalisation du fichier de report et donc la création d'une page de rapport pour visualiser les données que nous avons précédemment ingérer dans nos bases de données. On souhaite également présenter de façon plus convial et moins technique les différentes possibilités qui nous sont offertes. L'image \ref{report1} nous présente l'interface de notre outil.

\begin{figure}
\centering
\includegraphics[scale=1]{../img/impEcr/report1.jpg}
\caption{Aperçu de l'interface Report Editor}
\label{report1}
\end{figure}


\section{Outils génériques}

Ces outils sont indépendants du type de manipulation que l'on est en train de faire et se concentre sur le fichier en lui-même.
\begin{itemize}
	\item \textit{Load} bouton permet de charger un fichier déjà existant pour ainsi le modifier ou dupliquer.
	\item \textit{Save} bouton autorise la sauvegarde de notre fichier sur notre serveur. On choisit un nom pour celui-ci et il sera sauvegardé au sein de l'arborescence du projet de \textit{reports} (attention : cette action entraine un commit svn automatisé).
\end{itemize}

\section{Modes de visualisation}

\reportName dispose de trois modes de visualisation.
Le mode \textit{Element Configuration} vient accompagné la création de votre fichier via des outils spécifiques à certains éléments. \textit{Manual Edition} fournit au contraire une édition version texte pour les utilisateurs avertis voulant réaliser des éditions techniques et poussées. Et enfin, \textit{Html Preview} permet d'avoir un aperçu du rendu final de notre page.

\subsection{Manual Edition}

Ce mode fournit un éditeur de texte minimaliste type bloc-note. Il permet néanmoins de visualiser le fichier obtenu en sortie, et de le modifier "à l'ancienne" tout en profitant des avantages de notre éditeur : obfuscation des commandes svn et déploiement automatisé sur le serveur de développement.

\subsection{Html View}

Le rendu Html de notre document courant est affiché dans cette fenêtre. Aucune modification n'est possible et toute navigation vers d'autres pages est stoppée. L'affichage peut être plus ou moins long selon la complexité de la page et surtout selon le nombre d'accès aux base de données.

Dans le cas où notre document est invalide, les erreurs retournées seront affichées en lieu et place de notre Html.

\subsection{Element Configuration}

\paragraph{Outils Treeview}

Cette barre d'outils est purement destinés à fournir les divers éléments disponibles. Dans l'état courant (au \today), seul l'élément \textit{request} dispose d'un interpreteur graphique. L'ensemble des autres éléments se comporte comme des interpreteurs par défaut (i.e. en mode éditeur de texte).

\paragraph{TreeView}

Il s'agit du même type de visualisation que explicité pour le loader \ref{treeviewLoader}.

\paragraph{Configuration Element}

Le contenu de cette zone dépend de la sélection effectuée au sein de l'aroborescence. Par défaut, le paramètrage s'effectue via l'éditeur de texte, sinon par l'interface spécifiée par l'interpreteur (\textit{request} dispose ainsi de fonctions de choix parmi la liste des stars disponibles et la sélection des dimensions et colonnes à utiliser).

%Comme on peut l'observer sur l'image \ref{loader1} notre onglet \textit{Element configuration} s'articule autour de deux zones verticales. La première est la zone TreeView (ou arborescence). Celle-ci permet une représentation de notre fichier xml et l'utilisation des fonctionnalités accessibles via la barre d'outils. Celle-ci fournit d'ailleurs la possibilité de supprimer l'élément sélectionné, ou d'en ajouter un nouveau parmi la liste des éléments disponibles.

%Ajouter un nouvel élément ouvre une fenetre de sélection via une liste on peut ainsi choisir un élément transformer précis, \ldots Celui-ci sera ensuite ajouter sous l'élément couramment selectionné.

%Pour configurer un élément, on le sélectionne et le panneau droit de configuration se recharge pour afficher l'interface de configuration correspondante. Dans les paragraphes suivants, on décrit les différentes interfaces éléments par éléments.